3 research outputs found

    Analysis of Slice-Based Metrics for Aspect-Oriented Programs

    Get PDF
    To improve separation of concerns in software design and implementation, the technique of Aspect-Oriented Programming (AOP) was introduced. But AOP has a lot of features like aspects, advices, point-cuts, join-points etc., and because of these the usage of the existing intermediate graph representations is rendered useless. In our work we have defined a new intermediate graph representation for AOP. The construction of SDG is automated by analysing the bytecode of aspect-oriented programs that incorporates the representation of aspect-oriented features. After constructing the SDG, we propose a slicing algorithm that uses the intermediate graph and computes slices for a given AOP. Program slicing has numerous applications in software engineering activities like debugging, testing, maintenance, model checking etc. To implement our proposed slicing technique, we have developed a prototype tool that takes an AOP as input and compute its slices using our proposed slicing algorithm. To evaluate our proposed technique, we have considered some case studies by taking open source projects. The comparative study of our proposed slicing algorithm with some existing algorithms show that our approach is an efficient and scalable approach of slicing for different applications with respect to aspect-oriented programs. Software metrics are used to measure certain aspects of software. Using the slicing approach we have computed eight software metrics which quantitatively and qualitatively analyse the whole aspect project. We have compiled a metrics suite for AOP and an automated prototype tool is developed for helping the process of SDLC

    ASPECT MINING USING UML COMMUNICATION DIAGRAM

    Get PDF
    Aspect-Oriented Programming (AOP) focuses on precise constructs for modularization of the crosscutting concerns of a program. Crosscutting concerns can be defined as the functionalities that navigate the principal decomposition of software and therefore cannot be assigned to a single modular unit. Aspect mining attempts to find and isolate crosscutting concerns dwelling in legacy systems which in turn help in the adoption of an aspect-oriented design. Functionalities originally scattered across different modules and tangled with each other can be factored out into a distinct, separate unit, called an aspect. Identifying and refactoring the existing system into AOP considerably ease the debugging, testing and maintenance of the large legacy system. The goal of this paper is to find the aspects at the design level using aspect mining techniques for already existing non-aspect applications. The main advantage of this approach is that without understanding the underlying code, we can separate the crosscutting concerns at the architectural level. The novelty in our approach is that we are finding the aspects of an existing system at the architectural level using UML Communication Diagram. Also, the number of nodes in Control Flow Graph (CFG) drawn from the existing Communication diagram is reduced after finding the aspects resulting in the new reduced CFG

    DYNAMIC SLICING OF ASPECT-ORIENTED UML COMMUNICATION DIAGRAM

    Get PDF
    Aspect-oriented Programming (AOP) is a recent programming paradigm that focuses on modular implementations of various crosscutting concerns. The typical features of AOP such as join-point, advice, introduction, aspects etc. make it difficult for applying slicing. Program slicing is a method to extort statements that are relevant to a particular variable. Program slicing, as initially defined by Weiser is based on static dataflow examination on the flow graph of the program. Program slicing has been applied in parallel processing, program debugging, program integration,program understanding , software testing and maintenance etc.In this paper, we proposed a technique for dynamic slicing of aspectoriented software based on the UML 2.0 Communication diagram. Here, we can use slicing at the architectural level to find the slicing of communication diagram at an earlier stage of software development. To represent the various unique features of AOP in UML diagrams is very difficult and complex in nature. For this purpose, we first draw the communication diagram for aspect-oriented program considering the classes, pointcuts, advices and aspects. Next, we have generated an intermediate representation from the communication diagram. Then, we proposed an edge marking dynamic slicing algorithm that traverses the intermediate representation and finds the slices for the communication diagram of the given problem scenario. The novelty in our approach is that we present the communication diagram for the aspect-oriented software. Also, we proposed an algorithm to find the slice from it. The advantage of using communication diagram is that it mainly focuses on the interaction between the objects involved in the problem scenario
    corecore